/**
 * Author: crain
 * Date: 2020-05-21
 * Description:
 */
var loading = require('./loading.vue').default // 引入vue模板
var Loading = {} // 定义插件对象
Loading.install = function(Vue, options) { // vue的install方法，用于定义vue插件
  // 如果Loading还在，则不再执行
  if (document.getElementsByClassName('loading').length) { // class名字记得对上
    return
  }
  const LoadingTpl = Vue.extend(loading) // 创建vue构造器
  const $vm = new LoadingTpl() // 实例化vue实例
  // 此处使用$mount来手动开启编译。用$el来访问元素，并插入到body中
  // el：提供一个在页面上已存在的DOM元素作为Vue实例的挂载目标。可以是css选择器，也可以是HTMLElement实例。
  const tpl = $vm.$mount().$el
  document.body.appendChild(tpl)
  Vue.prototype.$loading = { // 在Vue的原型上添加实例方法，以全局调用
    // 此处最好使用这种方式，可开可关。
    show() { // 控制Loading显示的方法
      $vm.show = true // 显示loading
    },
    hide() { // 控制Loading隐藏的方法
      $vm.show = false
    }
  }
}
export default Loading
